package network

import "net"

/*
 From：   https://github.com/ouqiang/goutil
 Author：
 Date：   2023/09/27 12:30
*/

// GetInternalIp 暂时不好用，特别是有多个 Ip地址的时候
func GetInternalIp() string {
	inters, err := net.Interfaces()
	if err != nil {
		return ""
	}
	for _, inter := range inters {
		addrs, err := inter.Addrs()
		if err != nil {
			continue
		}
		for _, addr := range addrs {
			if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
				if ipnet.IP.To4() != nil {
					return ipnet.IP.String()
				}
			}
		}
	}
	return ""
}
